package com.edais.service;

import java.util.List;
import java.util.Map;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;

import com.edais.domain.AppVersionInfo;
import com.edais.domain.Bank;
import com.edais.domain.PushSetting;
import com.edais.domain.ViewFeedBack;
import com.edais.domain.sina.City;
import com.edais.domain.sina.Province;

@Service

public interface OptionService {

	/**
	 * 绑定手机号
	 * 
	 * @return
	 */
	public Map bindingPhone(String phoneNo, String id) throws Exception;


	/**
	 * 根据id查询银行基本信息
	 * 
	 * @return
	 * @throws Exception
	 */
	public List<Bank> getBankDetail(Map<String,Object> map) throws Exception;

	/**
	 * 根据应用版本号、操作系统查询该版本的信息
	 * 
	 * @param appVersion
	 *            应用版本号
	 * @param osName
	 *            操作系统
	 * @return
	 * @throws Exception
	 */
	public AppVersionInfo getAppVersionInfo(String appVersion, String osName)
			throws Exception;
	
	/**
	 * insertView
	 * 添加意见反馈
	 * */
	public void insertView(ViewFeedBack viewMsg) throws Exception;
	
	public String getThemeId(String key) throws Exception;
	
	public void setPushSwitchOn(String switchFlg1,String userId,String switchFlg2,String themeId) throws Exception;
	
	public void setPushSwitchOff(String userId, String themeId,String switchFlg1,String switchFlg2) throws Exception;
	public List<PushSetting> getSettingStus(Map<String,Object> map) throws Exception;
	public String createAccount(Map<String,Object> map,String userId) throws Exception;
	
	public List<Province> getAreaData() throws Exception;
	public Map<String,String> setPayBankFirst(Map<String,String> map) throws Exception;
	public void setPayBankSecond(Map<String,String> map) throws Exception;
	public void modifyPayPwd(Map<String,String> map) throws Exception;
	
	/**
	 * 解绑手机号
	 * 
	 * @return
	 */
	public Map unBindingPhone(String phoneNo, String id) throws Exception;
	
	public String addLoanApplication(Map<String,String> map) throws Exception;
	
	public List<Province> getAllProvince() throws Exception;
	
	public List<City> getCityListByProvinceId(String provinceId) throws Exception;
	
	public List<City> getAllCity() throws Exception;
	
	public boolean withdrawNeedProvinceAndCity(String userId) throws Exception;
	
	public City getCityByCode(String cityCode);
}
